package org.easy.eao;

import java.lang.reflect.Method;
import java.util.List;
import java.util.Set;

/**
 * 存取动作创建接口
 * @author Frank
 */
public interface ActionBuilder {

	/**
	 * 创建指定方法上声明的全部Annotation所对应的Action实体，并以数组形式返回
	 * @param clz 代理的 EAO 接口
	 * @param method 接口上的方法实例
	 * @param actions 可用的存取动作类型集合
	 * @return
	 */
	List<Action<?>> buildActions(Class<?> clz, Method method, Set<Class<Action<?>>> actions);

}
